#include <stdio.h>

/*
    
   借助柱子 B 把 A 柱子上的 n 个盘子移动到柱子 C
    
    1、把 A 上的 n-1 个盘子，借助 C 移动到 B
    2、把 A 上的盘子移动到 C
    3、把 B 上的 n-1 个盘子，借助 A 移动到 C
*/

void f(int n, char a, char b, char c) {
    if(0 == n) {
        return ;
    }

    // 1、
    f(n-1, a, c, b);

    printf("%c --> %c\n", a, c);

    // 3、
    f(n-1, b, a, c);

}

int main()
{
    
    int n;

    scanf("%d", &n);

    f(n, 'A', 'B', 'C');

    return 0;
}

